<?php

class envioemail    
{
    static $_email_contato = 'atendimento@dmarcouniformes.com.br'; // alterar tbm no library app site
    static $_email_admin = '';//'alenkar.k@gmail.com';        // alterar tbm no library app site
    static $_email_nome = 'D Marco Uniformes';
    
    static function orcamento($arr)
    {
        
        $sessao = new Zend_Session_Namespace('Parametros');
        
        $body= '<p>Olá '.$arr['nome'].',<br>
                Seu orçamento está em anexo!</p>';
       
        $parms['emailsender'] = $sessao->parametros['PAR_EMLCNT'];
        $parms['nomeremetente'] = 'Atendimento';
        $parms['emailremetente'] = $sessao->parametros['PAR_EMLCNT'];
        $parms['emaildestinatario'] = $arr['email'];
        $parms['comcopia'] = '';
        $parms['comcopiaoculta'] = self::$_email_admin;
        $parms['assunto'] = self::$_email_nome.' - Proposta';
        $parms['mensagem'] = $body; 
        $parms['urlbase'] = $arr['urlbase'];
        $parms['anexo'] = $arr['anexo'];
        return self::enviarEmail($parms);
    }
    
    
    static function formularioContato($form){
        
        $sessao = new Zend_Session_Namespace('Parametros');
        
        $body = '<strong style="font-size: 18px;text-decoration: underline;">Contato</strong></br></br>';
        $body.= '<p><strong>Nome: </strong>'.$form->getValue('nome').'</p>';
        $body.= '<p><strong>E-mail: </strong>'.$form->getValue('email').'</p>';
        $body.= '<p><strong>Telefone: </strong>'.$form->getValue('telefone').'</p>';
        $body.= '<p><strong>Cidade: </strong>'.$form->getValue('cidade').'/'.$_REQUEST['uf'].'</p>';
        $body.= '<p><strong>Assunto: </strong>'.$form->getValue('assunto').'</p>';
        $body.= '<p><strong>Mensagem: </strong>'.$form->getValue('mensagem').'</p>';
     
        $parms['emailsender'] = $form->getValue('email');
        $parms['nomeremetente'] = $form->getValue('nome');
        $parms['emailremetente'] = $form->getValue('email');
        $parms['emaildestinatario'] = $sessao->parametros['PAR_EMLCNT'];
        $parms['comcopia'] = '';
        $parms['comcopiaoculta'] = self::$_email_admin;
        $parms['assunto'] = self::$_email_nome.' - Contato';
        $parms['mensagem'] = $body;
        $parms['urlbase'] = $arr['urlbase'];
        return self::enviarEmail($parms);
        
    }
    
    static function enviarEmail(array $parms){
        if( PATH_SEPARATOR == ';') $quebra_linha = "\r\n";
        elseif (PATH_SEPARATOR == ':') $quebra_linha  = "\n";
        else $quebra_linha = "\r\n";
        $emailsender       = trim($parms['emailsender']);
        $nomeremetente     = trim($parms['nomeremetente']);
        $emailremetente    = trim($parms['emailremetente']);
        $emaildestinatario = trim($parms['emaildestinatario']);
        $comcopia          = trim($parms['comcopia']);
        $comcopiaoculta    = trim($parms['comcopiaoculta']);
        $assunto           = trim($parms['assunto']);
        $emailanexo        = trim($parms['anexo']);
        /* Montando a mensagem a ser enviada no corpo do e-mail. */
        $mensagemHTML = trim($parms['mensagem']);
        
        $img = '<a href="http://'.$_SERVER['SERVER_NAME'].$parms['urlbase'].'"><img src="http://'.$_SERVER['SERVER_NAME'].'/public/media/images/topo_email.png"/></a></br>';
        
        $mensagemHTML = $img.$mensagemHTML; 
        
        $mensagemHTML = $mensagemHTML . '<br>--<br><strong>Enviado: </strong>'. date('d/m/Y H:i');
        
        /*
        $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
        if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
    
            $boundary = "XYZ-".date("dmYis")."-ZYX";
            $fp = fopen($arquivo["tmp_name"], "rb"); // abre o arquivo enviado
            $anexo = fread($fp, filesize($arquivo["tmp_name"])); // calcula o tamanho
            $anexo = base64_encode($anexo); // codifica o anexo em base 64
            fclose($fp); // fecha o arquivo
        }
        */
        
        if(file_exists($emailanexo) and !empty($emailanexo)){
            
            $arr = explode('/', $emailanexo);
            $nomearq = end($arr);
            
            $texto = $mensagemHTML;
            
            $boundary = "XYZ-".date("dmyhms")."-ZYX";
            $fp = fopen($emailanexo, "rb"); // abre o arquivo enviado
            $anexo = fread($fp, filesize($emailanexo)); // calcula o tamanho
            $anexo = base64_encode($anexo); // codifica o anexo em base 64
            fclose($fp); // fecha o arquivo
            
            $anexo = chunk_split($anexo);
            
            // anexo
            $mensagemHTML = "--$boundary" . $quebra_linha . ""; 
            $mensagemHTML .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . "";  //UTF-8 // ISO-8859-1
            $mensagemHTML .= "Content-Type: text/html; charset=UTF-8" . $quebra_linha . "" . $quebra_linha . ""; //plain 
            
            $mensagemHTML .= $texto. $quebra_linha . ""; 
            
            $mensagemHTML .= "--$boundary" . $quebra_linha . ""; 
            
            //$mensagemHTML .= "Content-Type: pdf" . $quebra_linha . ""; 
            //$mensagemHTML .= "Content-Disposition: attachment; filename=\"".$nomearq."\"" . $quebra_linha . ""; 
            //$mensagemHTML .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; 
            //$mensagemHTML .= "$anexo" . $quebra_linha . ""; 
            //$mensagemHTML .= "--$boundary--" . $quebra_linha . ""; 
            
            $mensagemHTML .= "Content-Type: text/plain\n";
            $mensagemHTML .= "Content-Disposition: attachment; filename=\"".$nomearq."\"" . $quebra_linha . ""; 
            $mensagemHTML .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; 
            $mensagemHTML .= "$anexo" . $quebra_linha . "" . $quebra_linha . ""; 
            $mensagemHTML .= "--$boundary--" . $quebra_linha . ""; 
                        
            $headers = "MIME-Version: 1.0" . $quebra_linha . ""; 
            $headers .= "From: ".$nomeremetente." <".$emailsender."> ".$quebra_linha;
            $headers .= "Return-Path: $emailsender " . $quebra_linha . ""; 
            $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . "";                       
            if(strlen($comcopia) > 0) $headers .= "Cc: ".$comcopia.$quebra_linha;
            if(strlen($comcopiaoculta) > 0) $headers .= "Bcc: ".$comcopiaoculta.$quebra_linha;
            $headers .= "Reply-To: ".$emailremetente.$quebra_linha;
            $headers .= "X-Mailer: PHP/".phpversion();
            $headers .= "$boundary" . $quebra_linha . "";             
        }
        else{
            // Montando o cabeçalho da mensagem 
            $headers = "MIME-Version: 1.1".$quebra_linha;
            //$headers .= "Content-type: text/html; charset=iso-8859-1".$quebra_linha;
            $headers .= "Content-type: text/html;charset=UTF-8;".$quebra_linha; //UTF-8
            // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada.
            $headers .= "From: ".$nomeremetente." <".$emailsender.">".$quebra_linha;
            $headers .= "Return-Path: " . $emailsender . $quebra_linha;
            // Esses dois "if's" abaixo são porque o Postfix obriga que se um cabeçalho for especificado, deverá haver um valor.
            // Se não houver um valor, o item não deverá ser especificado.
            if(strlen($comcopia) > 0) $headers .= "Cc: ".$comcopia.$quebra_linha;
            if(strlen($comcopiaoculta) > 0) $headers .= "Bcc: ".$comcopiaoculta.$quebra_linha;
            $headers .= "Reply-To: ".$emailremetente.$quebra_linha;
            $headers .= "X-Mailer: PHP/".phpversion();
            // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para)
        }
        
        /* Enviando a mensagem */
        return mail($emaildestinatario, $assunto, $mensagemHTML, $headers, "-r". $emailsender);
        
    }
    
    
}

